<?php

require_once 'Banco.php';
require_once 'Model/Cardapio.php';
require_once 'DAO/DaoEmpresa.php';

class DaoCardapio extends Banco{
    
    public function getCardapioByEmpresa(Empresa $empresa) {
        $cardapio = NULL;
        $codEmpresa = $empresa->getCodigo();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("SELECT CAR_CODIGO, CAR_CODEMPRESA, CAR_CARDAPIO, CAR_VISIVEL, CAR_HORARIO FROM TB_CARDAPIO WHERE CAR_VISIVEL = 'S' AND CAR_CODEMPRESA=? ORDER BY CAR_HORARIO DESC;")) {
            $sql->bind_param('i',$codEmpresa);
            $sql->execute();
            $sql->bind_result($codigo, $emp, $imagem, $visivel, $horario);
            $DaoEmpresa = new DaoEmpresa();
            while ($sql->fetch()) {
                $cardapio = new Cardapio();
                $cardapio->setCodigo($codigo);
                $cardapio->setEmpresa($DaoEmpresa->getEmpresa($emp));
                $cardapio->setHorario($horario);
                $cardapio->setImagem($imagem);
                $cardapio->setVisivel($visivel);
            }
            $sql->close();
        }
        return $cardapio;
    }
    private function removeAllCardapios(Empresa $empresa) {
        $codEmpresa = $empresa->getCodigo();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("UPDATE TB_CARDAPIO SET CAR_VISIVEL = 'N' WHERE CAR_CODEMPRESA = ?;")) {
            $sql->bind_param('i',$codEmpresa);
            $sql->execute();
            $sql->close();
        }
    }
    public function addCardapio(Cardapio $cardapio) {
        if(is_a($cardapio->getEmpresa(), 'Empresa')){
            $empresa = $cardapio->getEmpresa()->getCodigo();
        }
        if($this->getCardapioByEmpresa($cardapio->getEmpresa())!= NULL){
            $this->removeAllCardapios($cardapio->getEmpresa());
        }
        
        $imagem = $cardapio->getImagem();
        Banco::conecta();
        $banco = Banco::getBanco();
        if ($sql = $banco->prepare("INSERT INTO TB_CARDAPIO VALUES(DEFAULT, ?, '{$imagem}', DEFAULT, DEFAULT);")) {
            $sql->bind_param('i',$empresa);
            $sql->execute();
            $sql->close();
        }
    }
}

?>
